package com.autumn.zero.workflow.application.dto.user.task;

import java.util.Date;

import com.autumn.common.api.application.dto.output.GmtCreateOutput;
import com.autumn.util.excel.annotations.ExcelColumn;
import com.autumn.util.excel.annotations.ExcelWorkbook;
import com.autumn.zero.workflow.entitys.AbstractWorkflowProcess;

/**
 * 用户任务Dto
 * 
 * @author 杨昌国 2019-02-20 17:29:34
 */
@ExcelWorkbook(exportTitle = "待办任务")
public class WorkflowUserTaskDto extends GmtCreateOutput<Long> {

	/**
	 * 
	 */
	private static final long serialVersionUID = -491106979195534687L;

	/**
	 * 流程Id {@link AbstractWorkflowProcess ->id}
	 */
	private Long flowProcessId;

	private String userId;

	@ExcelColumn(order = 1, friendlyName = "任务时间", width = 120)
	private Date taskTime;

	@ExcelColumn(order = 2, friendlyName = "任务编号", width = 80)
	private String taskNo;

	@ExcelColumn(order = 3, friendlyName = "任务名称", width = 120)
	private String taskName;

	private Integer formType;	

	@ExcelColumn(order = 5, friendlyName = "表单名称", width = 100)
	private String formName;

	private Long formId;

	@ExcelColumn(order = 6, friendlyName = "表单编号", width = 90)
	private String formNo;

	@ExcelColumn(order = 7, friendlyName = "任务标题", width = 80)
	private String flowTitle;

	@ExcelColumn(order = 8, friendlyName = "任务发起人", width = 80)
	private String startUserName;

	@ExcelColumn(order = 9, friendlyName = "任务摘要", width = 200)
	private String taskSummary;

	/**
	 * 流程实例
	 */
	private String processInstanceId;

	/**
	 * 获取用户Id
	 * 
	 * @return
	 */
	public String getUserId() {
		return userId;
	}

	/**
	 * 设置用户id
	 * 
	 * @param userId
	 */
	public void setUserId(String userId) {
		this.userId = userId;
	}

	/**
	 * 获取任务编号
	 * 
	 * @return
	 */
	public String getTaskNo() {
		return taskNo;
	}

	/**
	 * 设置任务编号
	 * 
	 * @param taskNo
	 */
	public void setTaskNo(String taskNo) {
		this.taskNo = taskNo;
	}

	/**
	 * 获取任务名称
	 * 
	 * @return
	 */
	public String getTaskName() {
		return taskName;
	}

	/**
	 * 设置任务名称
	 * 
	 * @param taskName
	 */
	public void setTaskName(String taskName) {
		this.taskName = taskName;
	}

	/**
	 * 获取任务时间
	 * 
	 * @return
	 */
	public Date getTaskTime() {
		return taskTime;
	}

	/**
	 * 设置任务时间
	 * 
	 * @param taskTime
	 */
	public void setTaskTime(Date taskTime) {
		this.taskTime = taskTime;
	}

	/**
	 * 获取任务摘要
	 * 
	 * @return
	 */
	public String getTaskSummary() {
		return taskSummary;
	}

	/**
	 * 设置任务摘要
	 * 
	 * @param taskSummary
	 */
	public void setTaskSummary(String taskSummary) {
		this.taskSummary = taskSummary;
	}

	public Integer getFormType() {
		return formType;
	}

	public void setFormType(Integer formType) {
		this.formType = formType;
	}	

	public String getFormName() {
		return formName;
	}

	public void setFormName(String formName) {
		this.formName = formName;
	}

	public Long getFormId() {
		return formId;
	}

	public void setFormId(Long formId) {
		this.formId = formId;
	}

	public String getFormNo() {
		return formNo;
	}

	public void setFormNo(String formNo) {
		this.formNo = formNo;
	}

	public String getFlowTitle() {
		return flowTitle;
	}

	public void setFlowTitle(String flowTitle) {
		this.flowTitle = flowTitle;
	}

	public String getStartUserName() {
		return startUserName;
	}

	public void setStartUserName(String startUserName) {
		this.startUserName = startUserName;
	}

	/**
	 * 获取流程Id
	 * 
	 * @return
	 */
	public Long getFlowProcessId() {
		return flowProcessId;
	}

	/**
	 * 设置流程id
	 * 
	 * @param flowProcessId
	 */
	public void setFlowProcessId(Long flowProcessId) {
		this.flowProcessId = flowProcessId;
	}

	public String getProcessInstanceId() {
		return processInstanceId;
	}

	public void setProcessInstanceId(String processInstanceId) {
		this.processInstanceId = processInstanceId;
	}
}
